<?php
require_once(APPPATH.'classes/abstract/udbase.php');
require_once(APPPATH.'classes/abstract/udentity.php');
require_once(APPPATH.'classes/util/udutil.php');
require_once(APPPATH."classes/estado.php");
require_once(APPPATH."classes/cidade.php");
require_once(APPPATH."classes/cliente.php");

class Cliente_model extends CI_Model {

    public function __construct() {
        parent::__construct();
    }

    public function getAll(){

    }

    public function getClientesEmpresa($cod_empresa_auto){
        $retorno = array();

        $sql = "
                SELECT cli.cod_cliente_auto, 
                       cli.cpf_cliente, 
                       cli.email_cliente, 
                       cli.nome, 
                       COUNT(cli_blo.cod_cli_bloq_auto) cliente_bloqueado
                  FROM pedido p
                 INNER JOIN forma_pagto_emp fpe ON p.cod_forma_emp_auto = fpe.cod_forma_emp_auto
                 INNER JOIN local_entrega len ON len.cod_local_auto = p.cod_local_auto
                 INNER JOIN cliente cli ON cli.cod_cliente_auto = len.cod_cliente_auto
                  LEFT JOIN cliente_bloqueado cli_blo ON cli_blo.cod_cliente_auto = cli.cod_cliente_auto
                                                     AND cli_blo.cod_empresa_auto = fpe.cod_empresa_auto
                                                     AND cli_blo.bloqueado = 1
                 WHERE fpe.cod_empresa_auto = ?
                   AND cli.cliente_bloqueado = 0
                 GROUP BY cli.cod_cliente_auto, cli.cpf_cliente, cli.email_cliente, cli.nome
                 ";

        $query = $this->db->query($sql, $cod_empresa_auto);

        if($query && $query->num_rows() > 0){
            foreach($query->result() as $row){
                $retorno[] = $row;
            }
        }

        return $retorno;
    }

    public function bloquearCliente($cod_cliente_auto, $cod_empresa_auto){
        $this->db->where('cod_cliente_auto', $cod_cliente_auto);
        $this->db->where('cod_empresa_auto', $cod_empresa_auto);
        $this->db->delete('cliente_bloqueado');

        $data = array(
            'cod_empresa_auto' => $cod_empresa_auto,
            'cod_cliente_auto' => $cod_cliente_auto,
            'bloqueado'        => 1
        );

        $this->db->insert('cliente_bloqueado', $data);
    }

    public function desbloquearCliente($cod_cliente_auto, $cod_empresa_auto){
        $this->db->where('cod_cliente_auto', $cod_cliente_auto);
        $this->db->where('cod_empresa_auto', $cod_empresa_auto);
        $this->db->delete('cliente_bloqueado');
    }
}